home *** CD-ROM | disk | FTP | other *** search
- Version: OBST3-2
- Date: 19/3/92
-
- The OBject system of STONE --- OBST
- -----------------------------------
-
- [ Formerly, we used the acronym SOS, which led to a conflict
- with an object oriented operating system of the same name.
- Therefore we changed the name to OBST ("Obst" is the German
- word for "fruit"). As many people already use SOS (OBST) we
- did not change internal things like class names, environment
- variables and so on. ]
-
- The persistent object management system OBST was developed by
- Forschungszentrum Informatik (FZI) as a contribution to the STONE
- project. This project (supported by grant no. ITS8902A7 from the
- BMFT, i.e. the German Ministry for Research) aims at the development
- of a software engineering environment for education purposes and is
- carried out as a joint project of nine german universities and
- research institutions.
-
- An essential feature of STONE is that the object oriented paradigm
- is pursued consequently as a key concept. OBST is the common persistent
- object store for all tools within the STONE environment.
-
-
- Data Model
- ---------
-
- The OBST data model can be characterized by the following properties:
-
- * Schema definition language syntactically similar to C++
- * Support of multiple inheritance
- * Generic classes
- * Distinction between public, protected, and private methods
- * Redefinition of methods
- * Overloading of methods
-
- Schemas and Containers
- ----------------------
-
- Schemas are compiled by the OBST schema compiler. The compilation
- results are instances of classes of the meta schema. From these
- instances in a next step interfaces to different programming languages
- can be generated. At present the C++ language binding is implemented,
- interfaces to Lisp and other languages are planned.
-
- Objects are stored in so-called containers. The container an object
- belongs to is determined at the time of object creation and fixed
- throughout the object's lifetime. Containers are the units of
- clustering, synchronization, and recovery. Objects can be referenced
- by other objects across container boundaries.
-
- Incremental Loading
- -------------------
-
- OBST provides a mechanism to incrementally load methods. This enables
- programs to deal with objects whose type is defined after the program
- itself has been developed. This is useful in systems that provide for
- inheritance and it supports schema evolution. We used it e.g. for
- programs that interpret the object base and call methods of the
- found objects (for example the below mentioned browser).
-
- Prototype
- ---------
-
- Since end 1990 the first prototype of OBST is available and is shipped
- to interested universities and research institutions. The current
- version is publicly available via FTP (see below).
-
- The system comes with the schema compiler, a library of predefined
- classes (like Set<Entity>, List<Entity>, String, ...), a graphical
- object browser (more a shell than a browser), the structurer and
- flattener (STF) and the OShell (OSH), and all manuals. For STF and
- OSH see below.
-
- Structurer and Flattener
- ------------------------
-
- This is a tool to build objects from bytestrings and flatten objects
- down to bytestrings. It is intended to be used when coupling UNIX
- tools to the object management system. The user defines a grammar that
- describes her objects. Afterwards, the structurer parses an ascii
- text according to the given grammar and creates an OBST object
- structure that represents the corresponding parse tree.
- The flattener does the inverse transformation, that means it generates
- an ascii text from a given OBST object structure according to the given
- grammar.
-
- OShell
- ------
-
- OShell is a tool which provides interactive access to the OBST
- object base. There is a language called OSL which is based on the
- lambda calculus and defines the interface to the OShell tool.
-
-
- System Requirements
- -------------------
-
- For the prototype's installation a C++ compiler (GNU g++ 1.37 or later
- or AT&T 2.0/2.1) and the X-Windows system (currently X11R4) for the
- graphical tools are required.
- Installation is well-tried on SUN 3/* and SUN 4/* systems
- and should be no problem on other UNIX machines, too.
-
- --------------------------------------------------------------------
-
- For more information please mail to:
-
- Forschungszentrum Informatik (FZI)
- STONE Projekt
- Haid-und-Neu-Strasse 10-14
- D-7500 Karlsruhe 1
- Germany
-
- or email to: stone@fzi.de
-
- Phone: ++49-721-9654-601
- Fax: ++49-721-9654-609
- Teletex: 721 190 fziKA
-
- The OBST system is available via anonymous FTP from gate.fzi.de
- [141.21.4.3]. The system can be found in the directory /pub/OBST.
-
- Sites interested in getting information about new OBST developments
- are welcome to register in our mailing list by sending an email with
- subject "obst-mailing-list" to stone@fzi.de.
-
- Bug reports should contain a small example program with which the
- bug can be reproduced, or at least a detailed description of the
- observed phenomenon. These reports should contain "obst-bug" in the
- subject line.
-
- Besides bug reports we are strongly interested in all experiences
- our users make with OBST (e.g. sufficiency of data model, performance,
- ...) and in our users' application areas and the applications as
- well. So, please don't hesitate to send us a short note.
-